package cn.tedu.em.maintain.service;

import cn.tedu.em.common.pojo.maintain.dto.MaintainAddNewDTO;
import cn.tedu.em.common.pojo.maintain.dto.MaintainUpdateDTO;
import cn.tedu.em.common.pojo.maintain.vo.MaintainListItemVO;
import cn.tedu.em.common.pojo.maintain.vo.MaintainStandardVO;
import java.util.List;

public interface IMaintainService {

    /**
     * 维修“是否处理”的状态文本
     */
    String DISPOSE_TEXT[] = {"未处理", "已处理"};

    /**
     * 添加维修的业务逻辑层方法
     * @param maintainAddNewDTO
     */
    void addNew(MaintainAddNewDTO maintainAddNewDTO);
    
    /**
     * 删除维修
     * @param id 尝试删除的维修数据的ID
     */
    void delete(Long id);

    /**
     * 未处理
     *
     * @param id 尝试未处理的维修的id
     */
    void SetUndispose(Long id);

    /**
     * 已处理
     *
     * @param id 尝试已处理的维修的id
     */
    void    SetDispose(Long id);

    /**
     * 修改维修数据
     * @param id 被修改的维修数据的ID
     * @param maintainUpdateDTO 维修的新数据
     */
    void updateInfoById(Long id, MaintainUpdateDTO maintainUpdateDTO);

    /**
     * 根据ID查询维修数据的详情
     *
     * @param id 维修ID
     * @return 匹配的维修数据的详情，如果没有匹配的数据，则返回null
     */
    MaintainStandardVO getStandardById(Long id);

    /**
     * 查询维修数据列表
     *
     * @return 维修数据列表
     */
    List<MaintainListItemVO> list();
}
